package com.it.jdk8_time;

import java.time.Clock;
import java.time.ZoneId;
import java.time.ZonedDateTime;

public class ZoneId_ZonedDateTime {
    public static void main(String[] args) {
        // 目标：了解时区和带时区的时间

//  1.ZoneId的常见方法
        // public static ZoneId systemDefault():获取系统默认的时区
        ZoneId zoneId = ZoneId.systemDefault();
        System.out.println(zoneId.getId());
        System.out.println(zoneId);
        System.out.println("-----------------------------------------------------");

        // public static Set<String> getAvailableZoneIds(): 获取Java支持的全部时区Id
        System.out.println(ZoneId.getAvailableZoneIds());

        // public static ZoneId of(String zoneId) : 把某个时区id封装成ZoneId对象
        ZoneId zoneId1 = ZoneId.of("America/New_York");
        System.out.println(zoneId1);
        System.out.println("-----------------------------------------------------");


//  2.ZonedDateTime:带时区的时间
        // public static ZonedDateTime now(ZoneId zone): 获取某个时区的ZonedDateTime对象
        ZonedDateTime now = ZonedDateTime.now(zoneId1); // 美国时间
        System.out.println(now);
        System.out.println("-----------------------------------------------------");

        ZonedDateTime now1 = ZonedDateTime.now(Clock.systemUTC()); // 世界标准时间
        System.out.println(now1);
        System.out.println("-----------------------------------------------------");

        // public static ZonedDateTime now(): 获取系统默认时区的ZonedDateTime对象
        ZonedDateTime now2 = ZonedDateTime.now();
        System.out.println(now2);
    }
}
